package main

cronhpaCRD: {
	apiVersion: "apiextensions.k8s.io/v1beta1"
	kind:       "CustomResourceDefinition"
	metadata: {
		annotations: "controller-gen.kubebuilder.io/version": "v0.2.5"
		name: "cronhorizontalpodautoscalers.autoscaling.alibabacloud.com"
	}
	spec: {
		group: "autoscaling.alibabacloud.com"
		names: {
			kind:     "CronHorizontalPodAutoscaler"
			listKind: "CronHorizontalPodAutoscalerList"
			plural:   "cronhorizontalpodautoscalers"
			shortNames: ["cronhpa"]
			singular: "cronhorizontalpodautoscaler"
		}
		scope: "Namespaced"
		validation: openAPIV3Schema: {
			properties: {
				apiVersion: type: "string"
				kind: type:       "string"
				metadata: type:   "object"
				spec: {
					properties: {
						excludeDates: {
							items: type: "string"
							type: "array"
						}
						jobs: {
							items: {
								properties: {
									name: type:     "string"
									runOnce: type:  "boolean"
									schedule: type: "string"
									targetSize: {
										format: "int32"
										type:   "integer"
									}
								}
								required: ["name", "schedule", "targetSize"]
								type: "object"
							}
							type: "array"
						}
						scaleTargetRef: {
							properties: {
								apiVersion: type: "string"
								kind: type:       "string"
								name: type:       "string"
							}
							required: ["apiVersion", "kind", "name"]
							type: "object"
						}
					}
					required: ["jobs", "scaleTargetRef"]
					type: "object"
				}
				status: {
					properties: {
						conditions: {
							items: {
								properties: {
									jobId: type: "string"
									lastProbeTime: {
										format: "date-time"
										type:   "string"
									}
									message: type:  "string"
									name: type:     "string"
									runOnce: type:  "boolean"
									schedule: type: "string"
									state: type:    "string"
									targetSize: {
										format: "int32"
										type:   "integer"
									}
								}
								required: ["jobId", "lastProbeTime", "name", "runOnce", "schedule", "state", "targetSize"]
								type: "object"
							}
							type: "array"
						}
						excludeDates: {
							items: type: "string"
							type: "array"
						}
						scaleTargetRef: {
							properties: {
								apiVersion: type: "string"
								kind: type:       "string"
								name: type:       "string"
							}
							required: ["apiVersion", "kind", "name"]
							type: "object"
						}
					}
					type: "object"
				}
			}
			type: "object"
		}
		version: "v1beta1"
		versions: [{
			name:    "v1beta1"
			served:  true
			storage: true
		}]
	}
	status: {
		acceptedNames: {
			kind:   ""
			plural: ""
		}
		conditions: []
		storedVersions: []
	}
}
